
/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef __ST7735_H
#define __ST7735_H

#ifdef __cplusplus
 extern "C" {
#endif

/* Includes ------------------------------------------------------------------*/
	#include "stm32f1xx_hal.h"
//#include "stm32f10x.h"

//#include "fonts.h"
#include <stdbool.h>

//	#define ST7735_MADCTL_MY  0x80
//	#define ST7735_MADCTL_MX  0x40
//	#define ST7735_MADCTL_MV  0x20
//	#define ST7735_MADCTL_ML  0x10
//	#define ST7735_MADCTL_RGB 0x00
//	#define ST7735_MADCTL_BGR 0x08
//	#define ST7735_MADCTL_MH  0x04
//	
//	/*** Redefine if necessary ***/
//	#define ST7735_SPI_PORT hspi1
//	extern SPI_HandleTypeDef ST7735_SPI_PORT;
//	
//	#define ST7735_RES_Pin       GPIO_PIN_7
//	#define ST7735_RES_GPIO_Port GPIOC
//	#define ST7735_CS_Pin        GPIO_PIN_6
//	#define ST7735_CS_GPIO_Port  GPIOB
//	#define ST7735_DC_Pin        GPIO_PIN_9
//	#define ST7735_DC_GPIO_Port  GPIOA
//	
//	
//	// AliExpress/eBay 1.8" display, default orientation
//	/*
//	#define ST7735_IS_160X128 1
//	#define ST7735_WIDTH  128
//	#define ST7735_HEIGHT 160
//	#define ST7735_XSTART 0
//	#define ST7735_YSTART 0
//	#define ST7735_ROTATION (ST7735_MADCTL_MX | ST7735_MADCTL_MY)
//	*/
//	
//	// AliExpress/eBay 1.8" display, rotate right
//	/*
//	#define ST7735_IS_160X128 1
//	#define ST7735_WIDTH  160
//	#define ST7735_HEIGHT 128
//	#define ST7735_XSTART 0
//	#define ST7735_YSTART 0
//	#define ST7735_ROTATION (ST7735_MADCTL_MY | ST7735_MADCTL_MV)
//	*/
//	
//	// AliExpress/eBay 1.8" display, rotate left
//	/*
//	#define ST7735_IS_160X128 1
//	#define ST7735_WIDTH  160
//	#define ST7735_HEIGHT 128
//	#define ST7735_XSTART 0
//	#define ST7735_YSTART 0
//	#define ST7735_ROTATION (ST7735_MADCTL_MX | ST7735_MADCTL_MV)
//	*/
//	
//	// AliExpress/eBay 1.8" display, upside down
//	/*
//	#define ST7735_IS_160X128 1
//	#define ST7735_WIDTH  128
//	#define ST7735_HEIGHT 160
//	#define ST7735_XSTART 0
//	#define ST7735_YSTART 0
//	#define ST7735_ROTATION (0)
//	*/
//	
//	// WaveShare ST7735S-based 1.8" display, default orientation
//	/*
//	#define ST7735_IS_160X128 1
//	#define ST7735_WIDTH  128
//	#define ST7735_HEIGHT 160
//	#define ST7735_XSTART 2
//	#define ST7735_YSTART 1
//	#define ST7735_ROTATION (ST7735_MADCTL_MX | ST7735_MADCTL_MY | ST7735_MADCTL_RGB)
//	*/
//	
//	// WaveShare ST7735S-based 1.8" display, rotate right
//	/*
//	#define ST7735_IS_160X128 1
//	#define ST7735_WIDTH  160
//	#define ST7735_HEIGHT 128
//	#define ST7735_XSTART 1
//	#define ST7735_YSTART 2
//	#define ST7735_ROTATION (ST7735_MADCTL_MY | ST7735_MADCTL_MV | ST7735_MADCTL_RGB)
//	*/
//	
//	// WaveShare ST7735S-based 1.8" display, rotate left
//	/*
//	#define ST7735_IS_160X128 1
//	#define ST7735_WIDTH  160
//	#define ST7735_HEIGHT 128
//	#define ST7735_XSTART 1
//	#define ST7735_YSTART 2
//	#define ST7735_ROTATION (ST7735_MADCTL_MX | ST7735_MADCTL_MV | ST7735_MADCTL_RGB)
//	*/
//	
//	// WaveShare ST7735S-based 1.8" display, upside down
//	
//	#define ST7735_IS_160X128 1
//	#define ST7735_WIDTH  128
//	#define ST7735_HEIGHT 160
//	#define ST7735_XSTART 2
//	#define ST7735_YSTART 1
//	#define ST7735_ROTATION (ST7735_MADCTL_RGB)
//	
//	
//	// 1.44" display, default orientation
//	/*
//	#define ST7735_IS_128X128 1
//	#define ST7735_WIDTH  128
//	#define ST7735_HEIGHT 128
//	#define ST7735_XSTART 2
//	#define ST7735_YSTART 3
//	#define ST7735_ROTATION (ST7735_MADCTL_MX | ST7735_MADCTL_MY | ST7735_MADCTL_BGR)
//	*/
//	
//	// 1.44" display, rotate right
//	/*
//	#define ST7735_IS_128X128 1
//	#define ST7735_WIDTH  128
//	#define ST7735_HEIGHT 128
//	#define ST7735_XSTART 3
//	#define ST7735_YSTART 2
//	#define ST7735_ROTATION (ST7735_MADCTL_MY | ST7735_MADCTL_MV | ST7735_MADCTL_BGR)
//	*/
//	
//	// 1.44" display, rotate left
//	/*
//	#define ST7735_IS_128X128 1
//	#define ST7735_WIDTH  128
//	#define ST7735_HEIGHT 128
//	#define ST7735_XSTART 1
//	#define ST7735_YSTART 2
//	#define ST7735_ROTATION (ST7735_MADCTL_MX | ST7735_MADCTL_MV | ST7735_MADCTL_BGR)
//	*/
//	
//	// 1.44" display, upside down
//	/*
//	#define ST7735_IS_128X128 1
//	#define ST7735_WIDTH  128
//	#define ST7735_HEIGHT 128
//	#define ST7735_XSTART 2
//	#define ST7735_YSTART 1
//	#define ST7735_ROTATION (ST7735_MADCTL_BGR)
//	*/
//	
//	// mini 160x80 display (it's unlikely you want the default orientation)
//	/*
//	#define ST7735_IS_160X80 1
//	#define ST7735_XSTART 26
//	#define ST7735_YSTART 1
//	#define ST7735_WIDTH  80
//	#define ST7735_HEIGHT 160 
//	#define ST7735_ROTATION (ST7735_MADCTL_MX | ST7735_MADCTL_MY | ST7735_MADCTL_BGR)
//	*/
//	
//	// mini 160x80, rotate left
//	/*
//	#define ST7735_IS_160X80 1
//	#define ST7735_XSTART 1
//	#define ST7735_YSTART 26
//	#define ST7735_WIDTH  160
//	#define ST7735_HEIGHT 80
//	#define ST7735_ROTATION (ST7735_MADCTL_MX | ST7735_MADCTL_MV | ST7735_MADCTL_BGR)
//	*/
//	
//	// mini 160x80, rotate right 
//	/*
//	#define ST7735_IS_160X80 1
//	#define ST7735_XSTART 1
//	#define ST7735_YSTART 26
//	#define ST7735_WIDTH  160
//	#define ST7735_HEIGHT 80
//	#define ST7735_ROTATION (ST7735_MADCTL_MY | ST7735_MADCTL_MV | ST7735_MADCTL_BGR)
//	*/
//	
//	/****************************/
//	
//	#define ST7735_NOP     0x00
//	#define ST7735_SWRESET 0x01
//	#define ST7735_RDDID   0x04
//	#define ST7735_RDDST   0x09
//	
//	#define ST7735_SLPIN   0x10
//	#define ST7735_SLPOUT  0x11
//	#define ST7735_PTLON   0x12
//	#define ST7735_NORON   0x13
//	
//	#define ST7735_INVOFF  0x20
//	#define ST7735_INVON   0x21
//	#define ST7735_DISPOFF 0x28
//	#define ST7735_DISPON  0x29
//	#define ST7735_CASET   0x2A
//	#define ST7735_RASET   0x2B
//	#define ST7735_RAMWR   0x2C
//	#define ST7735_RAMRD   0x2E
//	
//	#define ST7735_PTLAR   0x30
//	#define ST7735_COLMOD  0x3A
//	#define ST7735_MADCTL  0x36
//	
//	#define ST7735_FRMCTR1 0xB1
//	#define ST7735_FRMCTR2 0xB2
//	#define ST7735_FRMCTR3 0xB3
//	#define ST7735_INVCTR  0xB4
//	#define ST7735_DISSET5 0xB6
//	
//	#define ST7735_PWCTR1  0xC0
//	#define ST7735_PWCTR2  0xC1
//	#define ST7735_PWCTR3  0xC2
//	#define ST7735_PWCTR4  0xC3
//	#define ST7735_PWCTR5  0xC4
//	#define ST7735_VMCTR1  0xC5
//	
//	#define ST7735_RDID1   0xDA
//	#define ST7735_RDID2   0xDB
//	#define ST7735_RDID3   0xDC
//	#define ST7735_RDID4   0xDD
//	
//	#define ST7735_PWCTR6  0xFC
//	
//	#define ST7735_GMCTRP1 0xE0
//	#define ST7735_GMCTRN1 0xE1
//	
//	// Color definitions
//	#define	ST7735_BLACK   0x0000
//	#define	ST7735_BLUE    0x001F
//	#define	ST7735_RED     0xF800
//	#define	ST7735_GREEN   0x07E0
//	#define ST7735_CYAN    0x07FF
//	#define ST7735_MAGENTA 0xF81F
//	#define ST7735_YELLOW  0xFFE0
//	#define ST7735_WHITE   0xFFFF
//	#define ST7735_COLOR565(r, g, b) (((r & 0xF8) << 8) | ((g & 0xFC) << 3) | ((b & 0xF8) >> 3))

// call before initializing any SPI devices
//	void ST7735_Unselect();
//	
//	void ST7735_Init(void);
//	void ST7735_DrawPixel(uint16_t x, uint16_t y, uint16_t color);
//	void ST7735_WriteString(uint16_t x, uint16_t y, const char* str, FontDef font, uint16_t color, uint16_t bgcolor);
//	void ST7735_FillRectangle(uint16_t x, uint16_t y, uint16_t w, uint16_t h, uint16_t color);
//	void ST7735_FillScreen(uint16_t color);
//	void ST7735_DrawImage(uint16_t x, uint16_t y, uint16_t w, uint16_t h, const uint16_t* data);
//	void ST7735_InvertColors(bool invert);










/**
  * @}
  */ 


/**
  * @}
  */ 

/**
  * @}
  */ 

/**
  * @}
  */
  
#ifdef __cplusplus
}
#endif

#endif /* __ST7735_H */

/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/

